Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move the SymbolFinder API over to SymbolAndProjectId #18560

Merged
merged 3 commits into from
Apr 8, 2017

Conversation

CyrusNajmabadi
Copy link
Member

This enables having htis API run OOP in the future.

@CyrusNajmabadi CyrusNajmabadi added the PR For Personal Review Only The PR doesn’t require anyone other than the developer to review it. label Apr 8, 2017
@CyrusNajmabadi
Copy link
Member Author

Tagging @dotnet/roslyn-ide

@CyrusNajmabadi
Copy link
Member Author

Checking in to unblock OOP work. Let me know if there are things you'd like me to change.

@CyrusNajmabadi CyrusNajmabadi merged commit cb6af81 into dotnet:master Apr 8, 2017
@CyrusNajmabadi CyrusNajmabadi deleted the symbolFindOOP branch April 8, 2017 23:17
Copy link
Member

@Pilchie Pilchie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👎 Some comments to clean up at least, also consider public APIs where appropriate.


/// <summary>
/// Find the declared symbols from either source, referenced projects or metadata assemblies with the specified name.
/// </summary>
internal static async Task<ImmutableArray<SymbolAndProjectId>> FindAllDeclarationsAsync(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be made public, since the original API that you are marking as legacy was public?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally, sure. But that would be a ton of work (especially given that SymbolAndProjectId is not public). It is out of scope of this work (afaict) to make this public, and i would not want to gate the OOP work on that.


#region Current API

// This region contains the current FindDeclaratins APIs. The current APIs allow for OOP
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling FindDeclarati*o*ns

#region Current API

// This region contains the current FindDeclaratins APIs. The current APIs allow for OOP
// implementation and will defer to the oop server if it is available. If not, it will
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OOP should be captilized consistently.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Although, it may be better to avoid the acronym overall.

// implementation and will defer to the oop server if it is available. If not, it will
// compute the results in process.

internal static async Task<ImmutableArray<SymbolAndProjectId>> FindSourceDeclarationsWithNormalQueryInLocalProcessAsync(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Public?

Also, this is the "InLocalProcess" so it isn't clear that the comment makes sense.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not want to make these APIs public yet. At the verry least, i'd want to make sure they were actually the right API to expose. We're stuck in the position that the old APIs are public, and now we can't do anything about that. I don't want to be in that position again.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The name has been fixed in the later PR. it follow the 'InCurrentProcess' naming pattern.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-already-signed PR For Personal Review Only The PR doesn’t require anyone other than the developer to review it.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants